"""
58. 最后一个单词的长度
https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150
"""


class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        # for i in reversed(range(len(s))):
        #     if s[i] != " ":
        #         result, flag = 0, False
        #         for j in reversed(range(0, i+1 )):
        #             if s[j] == " " and flag:
        #                 return result
        #             if s[j] != " ":
        #                 result += 1
        #                 if not flag:
        #                     flag = True
        #         return result

        """
        使用 split() 方法按空格分割字符串 s 成单词列表。
        通过 [-1] 选取列表中的最后一个元素，即最后一个单词。
        应用 len() 函数计算该单词的长度并返回。
        这种方法代码更简洁，可读性强，且实现效率高。
        """
        return len(s.split()[-1])

        """
        这个实现与第二种非常相似，但增加了一个 strip() 方法调用在 split() 之前。
        这会移除字符串首尾的任何空白字符（包括空格、换行符等），确保即使输入字符串首尾有空格也能正确处理。
        这种改动使得函数对于包含额外空白的输入更加健壮。
        """
        # return len(s.strip().split(' ')[-1])





if __name__ == "__main__":
    print(Solution().lengthOfLastWord("Hello World"))
    print(Solution().lengthOfLastWord("   fly me   to   the moon  "))
    print(Solution().lengthOfLastWord("aa"))
